﻿//===============================================================================
//	script_define.h
//	自定义的lua脚本函数宏
//===============================================================================

#pragma once
#ifndef _LUA_FUNCTION_
#define _LUA_FUNCTION_

#define	LUA_NpcCommonScript							44444
//#define LUA_FightFormuleScript						55555
#define LUA_PlayerCommonScript						66666
#define LUA_SecenCommonScript						99999

#define LUA_OfferRewardMissionGenerateScript		5800
#define LUA_OfferRewardKillMonsterScript			5801
#define LUA_OfferRewardCollectScript				5811
#define LUA_OfferRewardDeliveryScript				5812
#define LUA_OfferRewardKillPlayerScript				5813

#define LUA_ActiveBoxScript							5999

#define LUA_BaseConfigScript						10000
#define LUA_ChatFunctionScript						10002
#define LUA_PlayerManagerScript						11001
#define LUA_MsgManagerScript						10001
#define LUA_FriendManagerScript						10023
#define LUA_UnionManagerScript						10043


#define LUA_MissionGmScript							500
#define LUA_MissionTrunkScript						502  // 主线任务通用脚本

// lcl 2017-11-23 增加时间刷新函数文件
#define LUA_RedFlagUpdateScript						50001

#define LUA_CppMsgRounter							60017
#define LUA_WebRedisScript							60027

//游戏服务全局相关内容
#define  LUA_GameServerScript							70001

//惊喜充值相关信息
#define  LUA_SetSurpriseRechargeInfo2Redis				"SetSurpriseRechargeInfo2Redis"

//从redis获取 惊喜充值相关信息
#define  LUA_SaveSurpriseRechargeInfo2DB				"SaveSurpriseRechargeInfo2DB"

#define  LUA_SendEmail2AllRechargedPlayers				"SendEmail2AllRechargedPlayers"

#define LUA_ClickMissionNPC							"ClickMissionNPC"
#define LUA_KillMonster								"KillMonster"
#define LUA_MoveToPosition							"MoveToPosition"
#define LUA_GetItem									"GetItem"
#define LUA_CollectItem								"CollectItem"
#define LUA_DungeonFinished							"DungeonFinished"
#define LUA_RunTimer								"RunTimer"

#define LUA_CheckAccount							"checkAccountRequest"
#define LUA_PlayerRegister							"playerRegisterRequest"
#define LUA_PlayerLogin								"playerLoginRequest"

#define LUA_AcceptMissionTargetInfo					"AcceptMissionTargetInfo"

#define LUA_InitLuaScriptEnvironment				"initLuaScriptEnvironment"   // 脚本初始化
#define LUA_PaserMessage							"paserMessage"

#define LUA_InitPlayerFirstMission					"InitPlayerFirstMission"
#define LUA_CheckReleasedIsOpened					"CheckReleasedIsOpened"
#define LUA_SetOpenedDailyMissionToUser				"SetOpenedMissionToUser"

#define LUA_SetUnlockedDailyMission					"SetMissionIsUnlocked"

#define LUA_MissionDialogue							"MissionDialogue"
//#define LUA_SetActiveBoxIdTheDay					"SetActiveBoxIdTheDay"
#define LUA_SetActiveBoxInfoTheDay					"SetActiveBoxInfoTheDay"

#define LUA_GiveTheMissionReward					"GiveTheMissionReward"
#define LUA_GetActiveBoxReward						"GetActiveBoxReward"

#define LUA_GetLevelRankTitle						"GetLevelRankTitle"
#define LUA_GetFightingRankTitle					"GetFightingRankTitle"
#define LUA_GetTotalTitleByType						"GetTotalTitleByType"
#define LUA_GetMobaRankTitle						"GetMobaRankTitle"
#define LUA_GetLevelTitle							"GetLevelTitle"
#define LUA_GetRefillTitle							"GetRefillTitle"

#define LUA_TriggerAction							"TriggerAction"
#define LUA_PlayerLeaveScene						"PlayerLeaveScene"


#define LUA_PlayerLoginFinished						"PlayerLoginFinished"
#define LUA_PlayerEnterGame							"PlayerEnterGame"
#define LUA_PlayerLeaveGame							"PlayerLeaveGame"
#define LUA_PlayerEnterScene						"PlayerEnterScene"

#define LUA_PlayerRechangedNotify					"PlayerRechangedNotify"

#define LUA_ProprovidePlayerMissionAward			"ProprovidePlayerMissionAward"
#define LUA_MapSimilarSecondCallOnce				"MapSimilarSecondCallOnce"

//#define LUA_MonsterInitialize						"MonsterInitialize"

#define LUA_GetOfferMissionList						"GetOfferMissionList"
#define LUA_UpdateOfferMissionList					"UpdateOfferMissionList"
#define LUA_UpdateOfferMissionListByOneItem			"UpdateOfferMissionListByOneItem"
#define LUA_LoadOfferTaskData						"LoadOfferTaskData"
#define LUA_LoadDailyTaskData						"LoadDailyTaskData"


#define LUA_GiveUpOfferRewardMission				"GiveUpTheMission"
#define LUA_AcceptedOfferRewardMission				"AcceptedMission"
#define LUA_CompleteTheMissionImmediately			"CompleteTheMissionImmediately"
#define LUA_GetRewardProps							"GetRewardProps"

#define LUA_SendPlayerOnlineCountStatistics			"sendPlayerOnlineCountStatisticsToDB"
#define LUA_PaserGMMessage							"paserGMMessage"
#define LUA_KillPlayer								"KillPlayer"
#define LUA_SendTitleOutOfDateMail					"SendTitleOutOfDateMail"

#define LUA_PlayerVitalityBack						"PlayerVitalityBack"
#define LUA_QueryArenaRankingsDataList				"queryArenaRankingsDataListString"
#define LUA_LoadLevelRankingsDataList				"LoadLevelRankingsDataList"
#define LUA_LoadArenaRankingsDataList				"LoadArenaRankingsDataList"
#define LUA_LoadArenaRankingsToRedis				"LoadArenaRankingsToRedis"

#define LUA_PlayerSimilarSecondCallOnce				"PlayerSimilarSecondCallOnce"
#define LUA_PlayerGuideCheck						"PlayerGuideCheck"
#define LUA_SetGuideState							"SetGuideState"

#define LUA_GetDigPoints							"GetDigPoints"
#define LUA_GetDigExploreReward						"GetDigExploreReward"

#define LUA_PlayerLogoutNotify						"playerLogoutNotify"

#define LUA_cppMsgRouterFunc						"Lua_cppMsgRounter"

#define LUA_SyncRedisData2Mysql						"SyncRedisData2Mysql"

#define LUA_CheckSpecifiedPlayerItemCount			"checkSpecifiedPlayerItemCount"
#define LUA_ReduceSpecifiedPlayerItemAmount			"reduceSpecifiedPlayerItemAmount"

#define LUA_LoadSceneFinished						"PlayerLoadSceneFinished"

#define LUA_updatePlayerSingle1024Data				"updatePlayerSingle1024DataByPos"
#define LUA_updatePlayerAll1024Data					"updatePlayerAll1024DataByPos"

#define LUA_UpdateMainMissionInfoToDB				"UpdateMainMissionInfoToDB"

// 写入number类型的value
#define LUA_SetPlayerSomeOneNumberInfoToRedisDB		"SetPlayerSomeOneNumberIntoToRedis"//"setPlayerSomeInfoToRedisDBFromCPlusPlus"

// 写入string类型的value
#define LUA_SetPlayerSomeOneStringInfoToRedisDB		"SetPlayerSomeOneStringIntoToRedis"//"SaveSomePlayerInfoToRedisDB"


#define LUA_InitializePvPScene						"InitializePvPScene"
#define LUA_GetSceneSetInfo							"GetSceneSetInfo"

#define LUA_GetMonsterPosition						"GetMonsterPosition"


#define LUA_AutoGrantPlayerNewMail					"autoGrantPlayerNewMail"

#define LUA_UpdateSlotCheckTimeData					"updateSlotCheckTimeData"

#define LUA_InsertChatMsgToRedisDB					"insertChatMsgToRedisDBFromCPluaPlus"

#define LUA_ChangeGameSrvOnlineAmount				"changeGameSrvOnlineAmount"
#define LUA_SaveToPB								"SaveToPB"
#define LUA_LoadFromPB								"LoadFromPB"

#define LUA_UpdateMapServerStatus					"updateMapServerStatus"
#define LUA_GetMapServerStatus						"getMapServerStatus"
#define LUA_GetMapGroupListBymapid					"getMapGroupListBymapid"

#define LUA_DetailSaveToDB							"DetailSaveToDB"
#define LUA_DetailLoadFromDB						"DetailLoadFromDB"
#define LUA_FirstLogin								"FirstLogin"
#define LUA_SaveSinglePlayerNewDailyTask			"SaveSinglePlayerNewDailyTaskInfo"

#define LUA_PlayerRevive							"playerRevive"

#define LUA_GetFriendList							"GetFriendList"

#define LUA_SavePlayerChatMessage					"SavePlayerChatMessage"
#define LUA_ReplacementPlayerChatCharacter			"ReplacementPlayerChatCharacter"
#define LUA_ChatAchievement							"ChatAchievement"
#define LUA_SavePlayerOfflineChat					"SavePlayerOfflineChat"



//-------------------------------------------------------------------------------
//	战斗计算公式相关

//	护甲减伤率
#define LUA_CacuProbArmorDamageReduction			"CaculateProbabilityArmorDamageReduction"
//	魔法防御减伤率
#define LUA_CacuProbMagicResistanceDamageReduction	"CaculateProbabilityMagicResistanceDamageReduction"
//	护甲穿透率
#define LUA_CacuProbArmorPenetration				"CaculateProbabilityArmorPenetration"
//	魔法穿透率
#define LUA_CacuProbMagicPenetration				"CaculateProbabilityMagicPenetration"
//	暴击率
#define LUA_CacuProbCritical						"CaculateProbabilityCritical"
//	韧性率
#define LUA_CacuProbTenacity						"CaculateProbabilityTenacity"
//	闪避率
#define LUA_CacuProbDodge							"CaculateProbabilityDodge"
//	命中率
#define LUA_CacuProbHit								"CaculateProbabilityHit"

//	吸血
#define LUA_CacuProbSuckBlood						"CaculateProbabilitySuckBlood"
//	吸血值
#define LUA_CaculateAttackSuckBloodValue			"CaculateAttackSuckBloodValue"

//	是否暴击
#define LUA_CaculateAttackCriticalChance			"CaculateAttackCriticalChance"
//	是否命中
#define LUA_CaculateAttackDodgeChance				"CaculateAttackDodgeChance"

//	物理伤害
#define LUA_CaculatePhysicsDamage					"CaculatePhysicsDamage"
//	魔法伤害
#define LUA_CaculateMagicDamage						"CaculateMagicDamage"
//	真实伤害
#define LUA_CaculateRealDamage						"CaculateRealDamage"


//	计算技能基础值
#define LUA_CaculateSkillBaseValue					"CaculateSkillBaseValue"
//	技能物理伤害
#define LUA_CaculateSkillPhysicsDamage				"CaculateSkillPhysicsDamage"
//	技能魔法伤害
#define LUA_CaculateSkillMagicDamage				"CaculateSkillMagicDamage"
//	技能真实伤害
#define LUA_CaculateSkillRealDamage					"CaculateSkillRealDamage"

//
#define LUA_MissionGm								"MissionGM"

// lcl 2017-11-23 时间刷新调用函数，目前只用于红点，后边可以把所有的时间相关都加进来
#define LUA_UpdateByTime							"update_by_time"

#define LUA_ChangePlayerNumber						"ChangePlayerNumber"

#define LUA_UnionEvent								"UnionEvent"

// 零点跨月
#define LUA_OnNewMonth								"OnNewMonth"
// 零点跨天
#define LUA_OnNewZeroDay							"OnNewZeroDay"
// 每次ping的更新数据
#define LUA_UpdatePlayerInfoPing					"UpdatePlayerInfoPing"

#define LUA_GetHeroAttrib							"GetHeroAttrib"
#define LUA_HasTheHero								"HasTheHero"
#define LUA_GetHeroBaseInfo							"GetHeroBaseInfo"

#define LUA_SendMail								"SendMailByCPP"

// 领取邮件附件
#define LUA_DistillMailData							"DistillMailData"
#define LUA_DistillMailData_Event					"DistillMailData_Event"
#define LUA_BatchDistillMailData					"BatchDistillMailData"
#define LUA_SendMailNew								"SendMailNew"


#define LUA_ExtendItemToPlayerBackPack				"ExtendItemToPlayerBackPack"

#endif //_LUA_FUNCTION_